﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using LinkCard.Dao;
using LinkCard.Model;
using LinkCard.Utils;

namespace LinkCard.ShopCP.User
{
    public partial class user_edit : System.Web.UI.Page
    {
        private int iUserID = 0;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["USER"] == null) { Response.Redirect("/login.aspx"); }
            else
            {
                if (Convert.ToBoolean(Session["SHOPADMIN"]) == false)
                {
                    Response.Redirect("/message_box.aspx?msg=5");
                }
                else
                {
                    if (Request.QueryString["UserID"] != null)
                    {
                        iUserID = Convert.ToInt32(Request.QueryString["UserID"].ToString());
                        if (!IsPostBack)
                            LoadUser();
                    }
                }
            }
        }

        //Load User for Edit
        private void LoadUser()
        {
            if (iUserID == 0)
            {
                this.errorMessage.InnerText = "Không tồn tại thông tin Người dùng - Đại lý này.";
                this.errorMessage.Visible = true;
            }
            else
            {
                try
                {
                    //Lấy thông tin người dùng
                    var db = new TopLinkEntities();
                    var shopStaff = db.ShopStaffs.Where(t => t.UserID == iUserID).FirstOrDefault();
                    if (shopStaff != null)
                    {
                        this.Username.Value = shopStaff.Username.ToString();
                        this.PasswordOld.Value = shopStaff.Password.ToString();
                        this.ConfirmPwOld.Value = shopStaff.Password.ToString();
                        this.Description.Value = shopStaff.Description.ToString();
                        this.Fullname.Value = shopStaff.Fullname.ToString();
                        this.MobilePhone.Value = shopStaff.MobilePhone.ToString();
                        this.Email.Value = shopStaff.Email.ToString();
                        this.Address.Value = shopStaff.Address.ToString();
                    }
                    else
                    {
                        this.errorMessage.InnerText = "Không tồn tại thông tin Người dùng - Đại lý này.";
                        this.errorMessage.Visible = true;
                    }
                }
                catch
                {
                    this.errorMessage.InnerText = "Có lỗi xảy ra khi lấy thông tin Người dùng - Đại lý. Ấn F5 để thử lại.";
                    this.errorMessage.Visible = true;
                }
            }
        }

        [System.Web.Services.WebMethod]
        public static bool CheckUserName(string sUsername)
        {
            string sSQL = "SELECT Username FROM ShopStaff WHERE Username = N'" + sUsername + "'";
            DataTable dt = DataHelper.SelectTable(sSQL, false);
            if (dt.Rows.Count > 0)
            {
                return false;
            }
            else
            {
                return true;
            }
        }
        protected void btnUpdate_Click(object sender, EventArgs e)
        {
            try
            {
                var dao = new ShopStaffDao();
                var _user = new Model.ShopStaff();

                _user.Username = Username.Value.Trim();
                if (Password.Value.Trim() == "")
                    _user.Password = PasswordOld.Value.Trim();
                else
                    _user.Password = Password.Value.Trim();
                //_user.Permission = sPermission;
                _user.Description = Description.Value.Trim();
                _user.Fullname = Fullname.Value.Trim();
                _user.MobilePhone = MobilePhone.Value.Trim();
                _user.Address = Address.Value.Trim();
                _user.Email = Email.Value.Trim();
                _user.Type = "NORMAL";
                _user.SupplierID = Convert.ToInt64(Session["USER"].ToString());
                _user.UserID = iUserID;

                //dao.Add(_user);
                dao.Update(_user);

                //Lưu log
                var logAction = LogActions.LogItem(0, Convert.ToInt64(Session["USER"].ToString()), 0, 0, _user.UserID,
                                                    "Sửa thông tin đại lý: " + Username.Value,
                                                    "Edit", "ShopCP");
              
                Response.Redirect("/User/user_list.aspx", false);

            }
            catch (Exception ex)
            {
                Response.Redirect("error_info.aspx?err=addstaff");
            }

        }
    }
}